package com.summer.media.service;


import com.summer.media.pojo.MediaProcess;

import java.util.List;

public interface MediaProcessService {
    /**
     * 获取任务：通过取模获取每个执行器特定任务
     * @param total 执行器总数
     * @param index 执行器序号
     * @param taskNum 需要获取几个任务（根据cpu核数定）
     * @return 返回任务列表
     */
    List<MediaProcess> getTask(int total, int index, int taskNum);

    /**
     * 基于乐观锁实现枪锁
     * @param id 主键
     * @return 返回true表示抢到，否则没抢到
     */
    boolean getLock(Long id);

    boolean saveResult(MediaProcess mediaProcess, String filePath, String url);
}
